/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fiad.model.zeugnis;

import fiad.model.notenverwaltung.Note;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * 
 */
@Entity
@Table(name = "zeugnis")
@NamedQueries({
    @javax.persistence.NamedQuery(name = "lesenZeugnis", query = "Select zeugnis FROM Zeugnis zeugnis WHERE zeugnis.id = :zeugnis"),
    @javax.persistence.NamedQuery(name = "lesenALLEZeugnis", query = "Select zeugnis FROM Zeugnis zeugnis")})
public class Zeugnis implements Serializable {

    @Id
    @GeneratedValue
    private Long id;

    /*
     * 
     */
    private String vorname;
    private String nachname;
    private String ausbildungsberuf;
    private String fachrichtung;
    private String fachklasse;
    private String stufe;
    private String schuljahr;
    private int halbjahr;
    @OneToMany(cascade = CascadeType.ALL)
    private List<Note> noten;
    private String bemerkung;
    private String zeugnisKonferenzBeschluss;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date zeugnisKonferenzDatum;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date zeugnisausgabe;
    private int fehltage_insgesamt;
    private int fehltage_unentschuldigt;

    public Zeugnis() {
        noten = new ArrayList<Note>();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAusbildungsberuf() {
        return ausbildungsberuf;
    }

    public void setAusbildungsberuf(String ausbildungsberuf) {
        this.ausbildungsberuf = ausbildungsberuf;
    }

    public String getBemerkung() {
        return bemerkung;
    }

    public void setBemerkung(String bemerkung) {
        this.bemerkung = bemerkung;
    }

    public String getFachklasse() {
        return fachklasse;
    }

    public void setFachklasse(String fachklasse) {
        this.fachklasse = fachklasse;
    }

    public String getFachrichtung() {
        return fachrichtung;
    }

    public void setFachrichtung(String fachrichtung) {
        this.fachrichtung = fachrichtung;
    }

    public int getFehltage_insgesamt() {
        return fehltage_insgesamt;
    }

    public void setFehltage_insgesamt(int fehltage_insgesamt) {
        this.fehltage_insgesamt = fehltage_insgesamt;
    }

    public int getFehltage_unentschuldigt() {
        return fehltage_unentschuldigt;
    }

    public void setFehltage_unentschuldigt(int fehltage_unentschuldigt) {
        this.fehltage_unentschuldigt = fehltage_unentschuldigt;
    }

    public String getNachname() {
        return nachname;
    }

    public void setNachname(String nachname) {
        this.nachname = nachname;
    }

    public String getSchuljahr() {
        return schuljahr;
    }

    public void setSchuljahr(String schuljahr) {
        this.schuljahr = schuljahr;
    }

    public String getStufe() {
        return stufe;
    }

    public void setStufe(String stufe) {
        this.stufe = stufe;
    }

    public String getVorname() {
        return vorname;
    }

    public void setVorname(String vorname) {
        this.vorname = vorname;
    }

    public String getZeugnisKonferenzBeschluss() {
        return zeugnisKonferenzBeschluss;
    }

    public void setZeugnisKonferenzBeschluss(String zeugnisKonferenzBeschluss) {
        this.zeugnisKonferenzBeschluss = zeugnisKonferenzBeschluss;
    }

    public Date getZeugnisKonferenzDatum() {
        return zeugnisKonferenzDatum;
    }

    public void setZeugnisKonferenzDatum(Date zeugnisKonferenzDatum) {
        this.zeugnisKonferenzDatum = zeugnisKonferenzDatum;
    }

    public Date getZeugnisausgabe() {
        return zeugnisausgabe;
    }

    public void setZeugnisausgabe(Date zeugnisausgabe) {
        this.zeugnisausgabe = zeugnisausgabe;
    }

    public Note getNote(int fachid) {
        for (Note n : noten) {
            if (n.getFach() == fachid) {
                return n;
            }
        }
        return null;
    }

    public int getHalbjahr() {
        return halbjahr;
    }

    public void setHalbjahr(int halbjahr) {
        this.halbjahr = halbjahr;
    }

    public List<Note> getNoten() {
        return noten;
    }

    public void setNoten(List<Note> noten) {
        this.noten = noten;
    }
}
